package com.lht.arithmetic.sort;

/**
 * @author Eric
 * @version 1.0
 * @date 2019-11-22
 */
public class InsertionSort implements Sort {

    /**
     * 插入排序： 意思 加入前面 N 有序， 后面每个数过来，插入到自己有序的位置
     *
     * @param arr   1
     * @param start 2
     * @param end   3
     * @return int[]
     * @throws
     * @author Eric
     * @date 2019/11/22
     **/
    @Override
    public void sort(int[] arr, int start, int end) {
        int i = start;
        for (int j = start + 1; j < end; j++) {
            int index = j;
            int tmp = 0;
            while (index > i) {
                if (arr[index] < arr[index - 1]) {
                    tmp = arr[index];
                    arr[index] = arr[index - 1];
                    arr[index - 1] = tmp;
                }
                index--;
            }
        }
    }
}
